#pragma once
#include "SQLite/sqlite3.h"
#include <string>
#include <map>
#include "Exception.h"
#include "Item.h"

/**
@brief Sauvegarde BD
Enregistre dans une BD SQLite les informations
relatif a un item
*/
class Backup
{
	sqlite3 *_db;
	static int callback(void *NotUsed, int argc, char **argv, char **azColName);
	static int _lastRowId;
public:
	Backup(void);
	~Backup(void);

	void init(const std::wstring& database);
	void add( std::map<std::string,Item>& map );
	std::string find( std::map<std::string,Item>& map );
private:
	void createDB();
	void insert( const std::string& table, std::map<std::string,Item>& map );
	
};
